Skip to content

Preserve tool set scopes in Studio workflow documents - #3506

Open
AbigailDeng wants to merge 2 commits into
feature/integratefrom
fix/2026-08-20_studio-tool-sets
Open

Preserve tool set scopes in Studio workflow documents#3506
AbigailDeng wants to merge 2 commits into
feature/integratefrom
fix/2026-08-20_studio-tool-sets

Conversation

@AbigailDeng

Copy link
Copy Markdown
Contributor

Problem

Template instantiation stores runtime-supported tool_sets in the Studio draft YAML, but Studio rejected the field as unknown during the next parse and could not save the workflow.

Solution

  • Add typed ToolSets fields to Studio role and step documents.
  • Accept, parse, normalize, and serialize tool_sets independently from allowed_tools.
  • Preserve absent, empty, and populated lists so runtime tool-set restriction semantics remain unchanged.

Verification

  • /Users/abigaildeng/.dotnet/dotnet test test/Aevatar.Studio.Tests/Aevatar.Studio.Tests.csproj --nologo --no-restore --filter "FullyQualifiedNameWorkflowCompatibilityProfileTests|FullyQualifiedNameEditorControllerSerializationTests|FullyQualifiedName~WorkflowDocumentNormalizerTests" (119 passed)
  • PATH with temporary Python 3.12 python3 entrypoint bash tools/ci/test_stability_guards.sh (passed)
  • git diff --check (passed)

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.43%. Comparing base (6781f4f) to head (ca4abd4).
⚠️ Report is 24 commits behind head on feature/integrate.

@@                  Coverage Diff                  @@
##           feature/integrate    #3506      +/-   ##
=====================================================
+ Coverage              83.39%   83.43%   +0.04%     
=====================================================
  Files                   1659     1666       +7     
  Lines                 186215   187957    +1742     
  Branches               22432    22600     +168     
=====================================================
+ Hits                  155294   156828    +1534     
- Misses                 20517    20644     +127     
- Partials               10404    10485      +81     
Flag Coverage Δ
ci 83.43% <100.00%> (+0.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...udio/Compatibility/WorkflowCompatibilityProfile.cs 99.51% <100.00%> (+<0.01%) ⬆️
...c/Aevatar.Studio.Domain/Studio/Models/RoleModel.cs 100.00% <100.00%> (ø)
...c/Aevatar.Studio.Domain/Studio/Models/StepModel.cs 100.00% <100.00%> (ø)
...main/Studio/Services/WorkflowDocumentNormalizer.cs 91.41% <100.00%> (+0.10%) ⬆️

... and 16 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AbigailDeng
AbigailDeng force-pushed the fix/2026-08-20_studio-tool-sets branch from 0b5af32 to d2ce98d Compare August 20, 2026 15:13
@AbigailDeng

Copy link
Copy Markdown
Contributor Author

Post-rebase verification

Rebased onto the latest feature/integrate so the current NyxID conformance source pin is included. The earlier fast-gates failure was caused by the branch being behind that baseline, not by the Studio tool_sets implementation.

  • Focused Studio tests: /Users/abigaildeng/.dotnet/dotnet test test/Aevatar.Studio.Tests/Aevatar.Studio.Tests.csproj --nologo --filter "FullyQualifiedName~EditorControllerSerializationTests|FullyQualifiedName~WorkflowCompatibilityProfileTests|FullyQualifiedName~WorkflowDocumentNormalizerTests" - 119 passed, 0 failed
  • Stability guards: PATH=/Users/abigaildeng/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/bin:$PATH bash tools/ci/test_stability_guards.sh - passed, including 9/9 semantic tests
  • NyxID conformance: PATH=/Users/abigaildeng/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/bin:$PATH bash tools/ci/nyxid_conformance_guard.sh - passed: 46 top-level commands, 226 leaves, one outcome row per leaf
  • Diff validation: git diff --check origin/feature/integrate...HEAD - passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants